import type { PermissionType } from '@/services/types'

/* GlobalState */
export interface GlobalState {
  primary: string
  isDark: boolean
  isGrey: boolean
  isWeak: boolean
}

/* UserState */
export interface UserState {
  token: string
  userInfo: { userName: string }
  permissions: PermissionType[]
  userMenus: any[]
  userTabs: any[]
}

/* AuthState */
export interface AuthState {
  routeName: string
  authButtonList: {
    [key: string]: string[]
  }
  authMenuList: Menu.MenuOptions[]
  userMenus: any[]
}

/* KeepAliveState */
export interface KeepAliveState {
  keepAliveName: string[]
}
